<?php
namespace App\Models\Admin;
/**
This is the model class for table "orders_temp".
 * @property int10unsigned id	订单id
 * @property int10unsigned bale	货物ID
 * @property int10unsigned cid	公司UID
 * @property int10unsigned fid	工厂UID
 * @property varchar100 out_trade_no	订单号   整个表中独一无二
 * @property tinyint4unsigned status	抢单状态：[1未支付抢单保证金，2已支付抢单保证金，] 前面这几个状态弃用  3抢单中，4已完成抢单（成功）  5已完成抢单（失败）]


 * @property int10unsigned created_at	抢单时间
 * @property int10unsigned updated_at	更新
 * @property int10unsigned play_status	0表示未支付,1表示支付 2表示已经返还
 * @property decimal92unsigned bond_money	订单保证金金额
 * @property int10unsigned uid	用户id
 * @property varchar255 ip
 * @property varchar255 ua	ua
 * @property varchar1024 notes	订单备注信息
 * @property varchar33 play_no	支付的账单 弃用
 * @property int10unsigned f_level_DELETE_QIYONG	工厂的等级,仅仅是抢单时的等级,主要用于排序
 */
class OrderTempModel extends BaseModel
{

    //抢单状态：1未支付抢单保证金，2已支付抢单保证金，3抢单中，4已完成抢单（成功）  5已完成抢单（失败）

    /**
     * 弃用
    */
    const status_weizhifu=1;

    /**
     * 弃用
     */
    const status_yizhifu=2;


    const status_qiangdanzhong=3;
    const status_wancheng=4;
    const status_fail=5;


    const play_status_weizhifu=0;
    const play_status_zhifu=1;
    const play_status_fanhuan=2;



    public static function getstatus($key=null){
        $all=[
            self::status_weizhifu=>'未支付抢单保证金',
            self::status_yizhifu=>'已支付抢单保证金',
            self::status_qiangdanzhong=>'抢单中',
            self::status_wancheng=>'抢单成功',
            self::status_fail=>'失败',
        ];
        if($key===null){
            return $all;
        }
        return isset($all[$key])?$all[$key]:null;
    }
    public static function get_play_status($key=null){
        $all=[
            self::play_status_weizhifu=>'未支付',
            self::play_status_zhifu=>'支付',
            self::play_status_fanhuan=>'返还',
        ];
        if($key===null){
            return $all;
        }
        return isset($all[$key])?$all[$key]:null;
    }

    /***
     * 订单有效时间长
     * 单位秒
    */
    const MaxTime=360000;

    /**
     * 抢单表
     */

    protected $table = 'orders_temp';
    protected $fillable = [
        'id','bale','cid','fid','status',///'play_status','money',
        'created_at','updated_at','out_trade_no','ip','ua'
    ];

    /**
     * cid 公司UID
     * fid 工厂UID
     * bale 外发货物ID
     * 抢单状态：1未支付抢单保证金，2已支付抢单保证金，3抢单中，4已完成抢单
     */

    public function getStatuss()
    {
        return array(
            1 => '未支付抢单保证金', '已支付抢单保证金',
            '抢单中', '已完成抢单',
        );
    }

    public function orderDetail()
    {
        return $this->hasOne(OrderBaleModel::class, 'id', 'bale');
    }


    public function attributeLabels() {
        return [
            'id' => '订单id',
            'bale' => '货物ID',
            'cid' => '公司UID',
            'fid' => '工厂UID',
            'out_trade_no' => '订单号',
            'status' => '抢单状态',
            'created_at' => '抢单时间',
            'updated_at' => '更新',
            'play_status' => '支付状态',
            'bond_money' => '订单保证金金额',
            'uid' => '用户id',
            'ip' => 'ip',
            'ua' => 'ua',
            'notes' => '订单备注信息',
        ];
    }
}